package co.edu.usbcali.parcial3.dto;

import co.edu.usbcali.parcial3.Factura;
import co.edu.usbcali.presentation.backingBeans.FacturaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class FacturaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String factValor;
    private String usuCodigo_Usuario;
    private String factNumero;
    private Date factFechaEmision;
    private Date factFechaLimite;
    private boolean rowSelected = false;
    private FacturaView facturaView;
    private Factura factura;

    public Factura getFactura() {
        return factura;
    }

    public String listener_update(ActionEvent e) {
        try {
            facturaView.action_modifyWitDTO(((factFechaEmision == null) ||
                factFechaEmision.equals("")) ? null : factFechaEmision,
                ((factFechaLimite == null) || factFechaLimite.equals(""))
                ? null : factFechaLimite,
                ((factNumero == null) || factNumero.equals("")) ? null
                                                                : new String(
                    factNumero),
                ((factValor == null) || factValor.equals("")) ? null
                                                              : new Long(
                    factValor),
                ((usuCodigo_Usuario == null) || usuCodigo_Usuario.equals(""))
                ? null : new String(usuCodigo_Usuario));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        factNumero = factura.getFactNumero().toString();
        factFechaEmision = factura.getFactFechaEmision();
        factFechaLimite = factura.getFactFechaLimite();
        factValor = (factura.getFactValor() != null)
            ? factura.getFactValor().toString() : null;
        usuCodigo_Usuario = (factura.getUsuario().getUsuCodigo() != null)
            ? factura.getUsuario().getUsuCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Object details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        factNumero = factura.getFactNumero().toString();
        factFechaEmision = factura.getFactFechaEmision();
        factFechaLimite = factura.getFactFechaLimite();
        factValor = (factura.getFactValor() != null)
            ? factura.getFactValor().toString() : null;
        usuCodigo_Usuario = (factura.getUsuario().getUsuCodigo() != null)
            ? factura.getUsuario().getUsuCodigo().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setFactura(Factura factura) {
        this.factura = factura;
    }

    public FacturaView getFacturaView() {
        return facturaView;
    }

    public void setFacturaView(FacturaView facturaView) {
        this.facturaView = facturaView;
    }

    public String getFactValor() {
        return factValor;
    }

    public void setFactValor(String factValor) {
        this.factValor = factValor;
    }

    public String getUsuCodigo_Usuario() {
        return usuCodigo_Usuario;
    }

    public void setUsuCodigo_Usuario(String usuCodigo_Usuario) {
        this.usuCodigo_Usuario = usuCodigo_Usuario;
    }

    public Date getFactFechaEmision() {
        return factFechaEmision;
    }

    public void setFactFechaEmision(Date factFechaEmision) {
        this.factFechaEmision = factFechaEmision;
    }

    public Date getFactFechaLimite() {
        return factFechaLimite;
    }

    public void setFactFechaLimite(Date factFechaLimite) {
        this.factFechaLimite = factFechaLimite;
    }

    public String getFactNumero() {
        return factNumero;
    }

    public void setFactNumero(String factNumero) {
        this.factNumero = factNumero;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
